
# 日志
import os
import logging
import log_tools.log_config as log_config

def get_logger(name=log_config.logger_name, level=log_config.root_level):
    '''
    level: DEBUG
    '''
    debug_file = log_config.debug_file
    error_file = log_config.error_file
    create_not_exist(debug_file)
    create_not_exist(error_file)
    file_handler = logging.FileHandler(debug_file, encoding='utf-8') #输出到文件
    error_handler = logging.FileHandler(error_file, encoding='utf-8') #输出到文件
    console_handler = logging.StreamHandler()  #输出到控制台
    file_handler.setLevel('DEBUG')     #error以上才输出到文件
    error_handler.setLevel('ERROR')     #error以上才输出到文件
    console_handler.setLevel('DEBUG')   #info以上才输出到控制台
    fmt = '%(asctime)s - %(lineno)s - %(levelname)s - %(funcName)s - %(message)s'
    formatter = logging.Formatter(fmt)
    file_handler.setFormatter(formatter) #设置输出内容的格式
    error_handler.setFormatter(formatter) #设置输出内容的格式
    console_handler.setFormatter(formatter)
    logger = logging.getLogger(name)
    logger.setLevel(level)     #设置了这个才会把debug以上的输出到控制台
    logger.addHandler(file_handler)    #添加handler
    logger.addHandler(console_handler)
    logger.addHandler(error_handler)

    return logger


def create_not_exist(path):
    ppath = os.path.abspath(os.path.join(path, os.pardir))
    isExists=os.path.exists(ppath)
    if not isExists:
        os.mkdir(ppath)


